使用更多选项修改 Oracle DB 枚举列 - Laravel 迁移
Modify Oracle DB Enum column with more options - Laravel Migration
我正在寻找一种方法来向我的 Laravel 项目中 Oracle 数据库中 table 的枚举列添加更多选项。
这是我目前尝试过的方法。但它给了我以下错误。
public function up()
{
DB::statement("ALTER TABLE tokens MODIFY COLUMN status ENUM('pending','in_progress','completed','hold','reject') DEFAULT 'pending'");
}
这个returns下面的错误。
Error Code : 905
Error Message : ORA-00905: missing keyword
Position : 40
Statement : ALTER TABLE tokens MODIFY COLUMN status ENUM('pending','in_progress','completed','hold','reject') DEFAULT 'pending'
Bindings : []
如何实现?
我觉得你是什么
alter table
tokens
add constraint
check_constraint
CHECK
(status IN
(
'pending','in_progress','completed','hold','reject'
)
)ENABLE;
-- set default
ALTER TABLE tokens modify status DEFAULT 'pending';
在 oracle 中你可以这样做:
正在创建 table:
SQL> CREATE TABLE TOKENS (
2 STATUS VARCHAR2(100)
3 );
Table created.
SQL>
添加约束和默认值
SQL> ALTER TABLE TOKENS MODIFY
2 STATUS DEFAULT 'pending';
Table altered.
SQL>
SQL> ALTER TABLE TOKENS
2 ADD CONSTRAINT TOKEN_STATUS_CHK CHECK ( STATUS IN (
3 'pending',
4 'in_progress',
5 'completed',
6 'hold',
7 'reject'
8 ) );
Table altered.
SQL>
我正在寻找一种方法来向我的 Laravel 项目中 Oracle 数据库中 table 的枚举列添加更多选项。
这是我目前尝试过的方法。但它给了我以下错误。
public function up()
{
DB::statement("ALTER TABLE tokens MODIFY COLUMN status ENUM('pending','in_progress','completed','hold','reject') DEFAULT 'pending'");
}
这个returns下面的错误。
Error Code : 905
Error Message : ORA-00905: missing keyword
Position : 40
Statement : ALTER TABLE tokens MODIFY COLUMN status ENUM('pending','in_progress','completed','hold','reject') DEFAULT 'pending'
Bindings : []
如何实现?
我觉得你是什么
alter table
tokens
add constraint
check_constraint
CHECK
(status IN
(
'pending','in_progress','completed','hold','reject'
)
)ENABLE;
-- set default
ALTER TABLE tokens modify status DEFAULT 'pending';
在 oracle 中你可以这样做:
正在创建 table:
SQL> CREATE TABLE TOKENS (
2 STATUS VARCHAR2(100)
3 );
Table created.
SQL>
添加约束和默认值
SQL> ALTER TABLE TOKENS MODIFY
2 STATUS DEFAULT 'pending';
Table altered.
SQL>
SQL> ALTER TABLE TOKENS
2 ADD CONSTRAINT TOKEN_STATUS_CHK CHECK ( STATUS IN (
3 'pending',
4 'in_progress',
5 'completed',
6 'hold',
7 'reject'
8 ) );
Table altered.
SQL>