Привет, я занимаюсь разработкой приложения с использованием Nativescript-Angular и TypeORM, и у меня уже есть база данных SQLite, созданная с данными, поэтому я пытаюсь связать соединение моей typeorm с существующей базой данных SQLite. Но это не работает, я не знаю почему.
Это мой код для подключения typeorm.
@Injectable()
export class ConnectionService {
constructor() {}
initConnection() {
(async () => {
try {
const connection = await createConnection({
name: "database.db",
database: "database.db",
type: "nativescript",
driver,
entities: [
//"~/entities/*.ts"
Answer,
AnswerType,
Consumption,
Institution,
Profile,
Question,
Questionnaire,
Section,
Session,
Solution,
Substance,
Unit,
User
],
logging: true
});
console.log("Connection Created");
// setting true will drop tables and recreate
await connection.synchronize(false);
console.log("Synchronized");
//Create a repository to load from the database
let answerRepository = connection.getRepository(Answer);
//Select all from Answer
let allAnswers = await answerRepository.find();
console.log("All the answers are: ", allAnswers);
} catch (err) {
console.log("Error");
console.error(err);
}
})();
}
}
Это мой app.component.ts
import { Component } from "@angular/core";
import { ConnectionService } from
"./services/local/connection.service";
const SQLite = require("nativescript-sqlite");
@Component({
selector: "ns-app",
templateUrl: "app.component.html"
})
export class AppComponent {
constructor() {
if (!SQLite.exists("database.db")) {
SQLite.copyDatabase("database.db");
console.log("Database copied");
} else {
console.log("Database has been already copied!");
}
new SQLite("database.db", function(err, db) {
db.get("select * from answers where id=?", [1],
function(err, row) {
console.log("Row of data was: ", row);
});
});
//TypeORM
let connection = new ConnectionService();
connection.initConnection();
}
}
И, наконец, это мой вывод
JS: Database has been already copied!
JS: Row of data was: [1, Hombre, 2018-06-07 18:35:16, 2018-06-07
18:35:16]
JS: Angular is running in the development mode. Call
enableProdMode() to enable the production mode.
JS: Connection Created
JS: query: BEGIN TRANSACTION
JS: query: SELECT * FROM "sqlite_master" WHERE "type" = 'table'
AND "name" IN ('answer', 'answer_type', 'consumption',
'institution', 'profile', 'question', 'questionnaire', 'section',
'session', 'solution', 'substance', 'unit', 'user')
JS: query: SELECT * FROM "sqlite_master" WHERE "type" = 'index'
AND "tbl_name" IN ('answer', 'answer_type', 'consumption',
'institution', 'profile', 'question', 'questionnaire', 'section',
'session', 'solution', 'substance', 'unit', 'user')
JS: query: PRAGMA table_info("answer")
JS: query: PRAGMA index_list("answer")
JS: query: PRAGMA foreign_key_list("answer")
JS: query: PRAGMA table_info("answer_type")
JS: query: PRAGMA index_list("answer_type")
JS: query: PRAGMA foreign_key_list("answer_type")
JS: query: PRAGMA table_info("consumption")
JS: query: PRAGMA index_list("consumption")
JS: query: PRAGMA foreign_key_list("consumption")
JS: query: PRAGMA table_info("institution")
JS: query: PRAGMA index_list("institution")
JS: query: PRAGMA foreign_key_list("institution")
JS: query: PRAGMA table_info("profile")
JS: query: PRAGMA index_list("profile")
JS: query: PRAGMA foreign_key_list("profile")
JS: query: PRAGMA table_info("question")
JS: query: PRAGMA index_list("question")
JS: query: PRAGMA foreign_key_list("question")
JS: query: PRAGMA table_info("questionnaire")
JS: query: PRAGMA index_list("questionnaire")
JS: query: PRAGMA foreign_key_list("questionnaire")
JS: query: PRAGMA table_info("section")
JS: query: PRAGMA index_list("section")
JS: query: PRAGMA foreign_key_list("section")
JS: query: PRAGMA table_info("session")
JS: query: PRAGMA index_list("session")
JS: query: PRAGMA foreign_key_list("session")
JS: query: PRAGMA table_info("solution")
JS: query: PRAGMA index_list("solution")
JS: query: PRAGMA foreign_key_list("solution")
JS: query: PRAGMA table_info("substance")
JS: query: PRAGMA index_list("substance")
JS: query: PRAGMA foreign_key_list("substance")
JS: query: PRAGMA table_info("unit")
JS: query: PRAGMA index_list("unit")
JS: query: PRAGMA foreign_key_list("unit")
JS: query: PRAGMA table_info("user")
JS: query: PRAGMA index_list("user")
JS: query: PRAGMA foreign_key_list("user")
JS: query: COMMIT
JS: Synchronized
JS: query: SELECT "Answer"."id" AS "Answer_id",
"Answer"."description" AS "Answer_description",
"Answer"."created_at"AS "Answer_created_at",
"Answer"."updated_at" AS "Answer_updated_at" FROM "answer" "
Answer"
JS: todas las answers de la bd: []
Таким образом, результат для запроса с typeorm пуст, но если я выполняю запрос только с sqlite, он работает, я думаю, что typeorm не связывает мою существующую базу данных с соединением.
Любое решение?