|
|
|
@ -17,21 +17,64 @@ class MyDatabase {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static Future<void> _createTables(Database db, int version) async {
|
|
|
|
|
await _createCollectionInfoTable(db, version);
|
|
|
|
|
// await _createMuseumInfoTable(db, version);
|
|
|
|
|
// await _createCollectionInfoTable(db, version);
|
|
|
|
|
await _createCommunityInfoTable(db, version);
|
|
|
|
|
await _createServiceInfoTable(db, version);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static Future<void> _createMuseumInfoTable(Database db, int version) async {
|
|
|
|
|
await db.execute('''
|
|
|
|
|
CREATE TABLE IF NOT EXISTS MuseumInfo(
|
|
|
|
|
MuseumName TEXT PRIMARY KEY,
|
|
|
|
|
MuseumDetail TEXT NOT NULL,
|
|
|
|
|
ImagePath TEXT NOT NULL
|
|
|
|
|
);
|
|
|
|
|
''');
|
|
|
|
|
print("MuseumInfoTable create success");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static Future<void> _createCollectionInfoTable(Database db, int version) async {
|
|
|
|
|
await db.execute('''
|
|
|
|
|
CREATE TABLE IF NOT EXISTS CollectionInfo(
|
|
|
|
|
CollectionID BIGINT PRIMARY KEY,
|
|
|
|
|
MuseumName TEXT NOT NULL,
|
|
|
|
|
CollectionName TEXT NOT NULL,
|
|
|
|
|
CollectionDetail TEXT NOT NULL
|
|
|
|
|
);
|
|
|
|
|
''');
|
|
|
|
|
CREATE TABLE IF NOT EXISTS CollectionInfo(
|
|
|
|
|
CollectionID INTEGER PRIMARY KEY,
|
|
|
|
|
MuseumName TEXT,
|
|
|
|
|
CollectionName TEXT,
|
|
|
|
|
CollectionDetail TEXT,
|
|
|
|
|
ImagePath TEXT,
|
|
|
|
|
FOREIGN KEY (MuseumName) REFERENCES MuseumInfo(MuseumName)
|
|
|
|
|
);
|
|
|
|
|
''');
|
|
|
|
|
print("CollectionInfoTable create success");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static Future<void> _createCommunityInfoTable(Database db, int version) async {
|
|
|
|
|
await db.execute('''
|
|
|
|
|
CREATE TABLE IF NOT EXISTS CommunityInfo(
|
|
|
|
|
CommunityID INTEGER PRIMARY KEY,
|
|
|
|
|
MuseumName TEXT,
|
|
|
|
|
Author TEXT,
|
|
|
|
|
PostTime TEXT,
|
|
|
|
|
Comment TEXT,
|
|
|
|
|
FOREIGN KEY (MuseumName) REFERENCES MuseumInfo(MuseumName)
|
|
|
|
|
);
|
|
|
|
|
''');
|
|
|
|
|
print("CommunityInfoTable create success");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static Future<void> _createServiceInfoTable(Database db, int version) async {
|
|
|
|
|
await db.execute('''
|
|
|
|
|
CREATE TABLE IF NOT EXISTS ServiceInfo(
|
|
|
|
|
ServiceID INTEGER PRIMARY KEY,
|
|
|
|
|
MuseumName TEXT,
|
|
|
|
|
Service TEXT,
|
|
|
|
|
FOREIGN KEY (MuseumName) REFERENCES MuseumInfo(MuseumName)
|
|
|
|
|
);
|
|
|
|
|
''');
|
|
|
|
|
print("ServiceInfoTable create success");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static Future<void> reBuildDatabase() async {
|
|
|
|
|
final databasePath = await getDatabasesPath();
|
|
|
|
|
final path = join(databasePath, 'tma.db');
|
|
|
|
@ -40,4 +83,4 @@ class MyDatabase {
|
|
|
|
|
await openDatabase(path, version: 1, onCreate: _createTables);
|
|
|
|
|
await _createTables(database, 1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|