【发布时间】:2021-04-06 12:41:42
【问题描述】:
我正在尝试在 SQLDelight 的表中添加更多列。我制作了一个迁移文件 1.sqm。在迁移文件中,它给出了找不到表的错误。
我的 build.gradle.kts:
sqldelight {
database("AppDatabase") {
packageName = "com.jetbrains.handson.kmm.shared.cache"
schemaOutputDirectory = file("shared/src/commonMain/sqldelight/com/jetbrains/handson/kmm/shared/cache/AppDatabase.sq")
migrationOutputDirectory = file("shared/src/commonMain/sqldelight/migrations/1.sqm")
migrationOutputFileFormat = ".sqm"
schemaOutputDirectory
deriveSchemaFromMigrations = true
}
}
创建表语句:
CREATE TABLE pos_orders(id INTEGER AS Int PRIMARY KEY, orderId INTEGER AS Int , dateandtime TEXT, restaurant_id INTEGER AS Int, restaurant_name TEXT, deliveryType_description TEXT, paymentType_description TEXT, totalAmount REAL AS Float,
process_order INTEGER AS Int, pos_accept INTEGER AS Int, pos_printed INTEGER AS Int, status INTEGER AS Int, prep_time INTEGER AS Int, desired_delivery_time TEXT, restaurant_address TEXT, customerNo TEXT, title TEXT, firstName TEXT, lastName TEXT,company TEXT, street TEXT, houseNo TEXT, zip TEXT, city TEXT, state TEXT,floor TEXT, bezirk TEXT, bellname TEXT, email TEXT, phoneNo TEXT, fax TEXT, taxAmount REAL AS Float, total REAL AS Float , deliverycharges REAL AS Float,
deliveryType INTEGER AS Int, paymentType INTEGER AS Int, comment TEXT, order_note TEXT, sender TEXT, cancelation_cause TEXT, demo_order INTEGER AS Int, orderDate TEXT, updated TEXT);
【问题讨论】:
-
create table 语句是什么样的?
-
对不起,我已经在问题正文中添加了。
-
我会从该配置中删除除
packageName之外的所有内容。参见示例:github.com/touchlab/KaMPKit/blob/main/shared/…。从schemaOutputDirectory开始的所有内容都会混淆IDE 插件。 -
没有什么帮助我在迁移文件中编写这些 Alter 表查询。
-
如何更改表以在 SQLDeligt 中添加新列?
标签: android android-studio kotlin kotlin-multiplatform sqldelight