mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-07 18:03:48 +00:00
Impove migration scripts
This commit is contained in:
@@ -1,7 +1,9 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
import MySQLdb
|
||||||
|
|
||||||
import settings
|
import settings
|
||||||
|
|
||||||
@@ -13,6 +15,19 @@ except:
|
|||||||
print 'Environment not set! Exit'
|
print 'Environment not set! Exit'
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
def do_create():
|
||||||
|
conn = MySQLdb.Connect(host='localhost', user=dbuser, passwd=dbpasswd)
|
||||||
|
cursor = conn.cursor()
|
||||||
|
|
||||||
|
cmd = ( "CREATE DATABASE IF NOT EXISTS `%s` default charset utf8 COLLATE utf8_general_ci;") % (dbname)
|
||||||
|
try:
|
||||||
|
cursor.execute(cmd)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
cursor.close()
|
||||||
|
conn.close()
|
||||||
|
|
||||||
def do_delete(prefix):
|
def do_delete(prefix):
|
||||||
cmd = ('echo "select concat(\'drop table \', table_name ,\';\') from TABLES where TABLE_SCHEMA =\'%s\' and table_name like \'%s_%%\' ;" | mysql -u %s -p%s information_schema | sed -n \'2,$p\' | mysql -u %s -p%s %s') % (dbname, prefix, dbuser, dbpasswd, dbuser, dbpasswd, dbname)
|
cmd = ('echo "select concat(\'drop table \', table_name ,\';\') from TABLES where TABLE_SCHEMA =\'%s\' and table_name like \'%s_%%\' ;" | mysql -u %s -p%s information_schema | sed -n \'2,$p\' | mysql -u %s -p%s %s') % (dbname, prefix, dbuser, dbpasswd, dbuser, dbpasswd, dbname)
|
||||||
try:
|
try:
|
||||||
@@ -21,10 +36,13 @@ def do_delete(prefix):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
if __name__=="__main__":
|
if __name__=="__main__":
|
||||||
|
# create database if not exists
|
||||||
|
do_create()
|
||||||
|
|
||||||
|
# detele all seahub tables
|
||||||
for app in settings.INSTALLED_APPS:
|
for app in settings.INSTALLED_APPS:
|
||||||
app_name = app.split('.')[-1]
|
app_name = app.split('.')[-1]
|
||||||
do_delete(app_name)
|
do_delete(app_name)
|
||||||
|
|
||||||
do_delete('django')
|
do_delete('django')
|
||||||
|
|
||||||
print '[Delete seahub tables...Done]'
|
print '[Delete seahub tables...Done]'
|
||||||
|
@@ -8,9 +8,9 @@
|
|||||||
export PYTHONPATH=/usr/lib/python2.6/site-packages:thirdpart
|
export PYTHONPATH=/usr/lib/python2.6/site-packages:thirdpart
|
||||||
|
|
||||||
# The database configuration. Change to your config
|
# The database configuration. Change to your config
|
||||||
export DBNAME='seafile-meta'
|
export DBNAME='seahub-meta'
|
||||||
export DBUSER='seafile-user'
|
export DBUSER='root'
|
||||||
export DBPASSWD='seafile'
|
export DBPASSWD='test'
|
||||||
|
|
||||||
# Delete the exist seahub tables in database
|
# Delete the exist seahub tables in database
|
||||||
python batch-delete.py
|
python batch-delete.py
|
||||||
@@ -18,7 +18,8 @@ if [ $? -eq 1 ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DUMP_FILE='dump_seahub.json'
|
#DUMP_FILE='dump_seahub.json'
|
||||||
|
DUMP_FILE='dump_seahub.xml'
|
||||||
SETTINGS_COPY='mysqlsettings.py'
|
SETTINGS_COPY='mysqlsettings.py'
|
||||||
SETTINGS_MODULE='mysqlsettings'
|
SETTINGS_MODULE='mysqlsettings'
|
||||||
|
|
||||||
@@ -31,6 +32,6 @@ sed -i "/DATABASE_PASSWORD/c\DATABASE_PASSWORD = '$DBPASSWD'" $SETTINGS_COPY
|
|||||||
|
|
||||||
./manage.py syncdb --settings=$SETTINGS_MODULE
|
./manage.py syncdb --settings=$SETTINGS_MODULE
|
||||||
|
|
||||||
./manage.py dumpdata > $DUMP_FILE --settings=settings && ./manage.py loaddata $DUMP_FILE --settings=$SETTINGS_MODULE && echo '[DONE]' || echo '[FAILED]'
|
./manage.py dumpdata --format=xml > $DUMP_FILE --settings=settings && ./manage.py loaddata $DUMP_FILE --settings=$SETTINGS_MODULE && echo '[DONE]' || echo '[FAILED]'
|
||||||
|
|
||||||
rm $DUMP_FILE $SETTINGS_COPY 2> /dev/null
|
#rm $DUMP_FILE $SETTINGS_COPY 2> /dev/null
|
||||||
|
Reference in New Issue
Block a user