summaryrefslogtreecommitdiff
path: root/src/apscheduler/datastores/sqlalchemy.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/apscheduler/datastores/sqlalchemy.py')
-rw-r--r--src/apscheduler/datastores/sqlalchemy.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/apscheduler/datastores/sqlalchemy.py b/src/apscheduler/datastores/sqlalchemy.py
index 9c7c905..ebb076f 100644
--- a/src/apscheduler/datastores/sqlalchemy.py
+++ b/src/apscheduler/datastores/sqlalchemy.py
@@ -100,12 +100,13 @@ class _BaseSQLAlchemyDataStore:
def __attrs_post_init__(self) -> None:
# Generate the table definitions
+ prefix = f"{self.schema}." if self.schema else ""
self._metadata = self.get_table_definitions()
- self.t_metadata = self._metadata.tables["metadata"]
- self.t_tasks = self._metadata.tables["tasks"]
- self.t_schedules = self._metadata.tables["schedules"]
- self.t_jobs = self._metadata.tables["jobs"]
- self.t_job_results = self._metadata.tables["job_results"]
+ self.t_metadata = self._metadata.tables[prefix + "metadata"]
+ self.t_tasks = self._metadata.tables[prefix + "tasks"]
+ self.t_schedules = self._metadata.tables[prefix + "schedules"]
+ self.t_jobs = self._metadata.tables[prefix + "jobs"]
+ self.t_job_results = self._metadata.tables[prefix + "job_results"]
# Find out if the dialect supports UPDATE...RETURNING
update = self.t_jobs.update().returning(self.t_jobs.c.id)
@@ -137,7 +138,7 @@ class _BaseSQLAlchemyDataStore:
interval_type = EmulatedInterval
tags_type = JSON
- metadata = MetaData()
+ metadata = MetaData(schema=self.schema)
Table("metadata", metadata, Column("schema_version", Integer, nullable=False))
Table(
"tasks",