請就以下問題提出建議。我想使用Sequelize來處理現有的數據庫。爲現有MySQL數據庫定義Sequelize模型
堆棧使用:
- Node.js v6.10.3
- MySQL 2nd Gen 5.7 running on Google Cloud
- Sequelize 4.7.5
的MySQL包含1臺 - 'TEST_TABLE' 與列 'ID', '內容', '狀態',並擁有一些數據。
我想定義TestTable的模型,將 「解釋」 我的MySQL 'TEST_TABLE' 的sequelize,所以我跑:
常量連接=新Sequelize( 「數據庫名」, 「用戶」, 「通行證」,{ host:xxx.xxx.xxx.xxx, dialect:mysql }); 常量TestTable的= connection.define( 'TEST_TABLE',{ ID:{類型:Sequelize.INTEGER, 允許爲空:假的,獨特的:真, 的PrimaryKey:真,自動增量: TRUE}, 內容:{類型:Sequelize .STRING}, status:{type:Sequelize.STRING}, });
我得到的第一個驚喜是從此刻起Node完全忽略'test_table'的存在並創建它的'analogue'(???)。
C:\Users\dmitri\Desktop\app>node query.js
Executing (default): CREATE TABLE IF NOT EXISTS `test_tables` (`id` INTEGER NOT NULL auto_increment UNIQUE , `content` VARCHAR(255), `status` INTEGER, `createdAt` DATETIME NOT NULL, `updatedAt` DAT
ETIME NOT NULL, UNIQUE `test_tables_id_unique` (`id`), PRIMARY KEY (`id`)) ENGINE=InnoDB;
Executing (default): SELECT `id`, `content`, `status`, `createdAt`, `updatedAt` FROM `test_tables` AS `test_table`;
Executing (default): SHOW INDEX FROM `test_tables`
現在的MySQL包含兩個表:
- 'test_table' (singular)
- 'test_tables' (plural) identical to "test_table" but empty.
我想SELECT
ID ,
內容FROM
test_table`通過執行以下代碼Sequelize:
的相反的返回內容 'TEST_TABLE',節點保持忽略它:
C:\ Users \用戶的Dmitri \桌面\應用>節點query.js 執行(默認值):SELECT id
,content
FROM test_tables
AS test_table
;
並返回[]。
它可能會自動跳轉到查詢'test_tables'而不是'test_table'的原因是什麼?我完全錯過了什麼嗎?
非常感謝!